<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./js/vue.js"></script>
    <!-- <script src="./js/vue.min.js"></script> -->
    <!-- 
        Vue的开发环境设定（配置）-全局功能定义 
        Vue的构造函数上提供静态配置属性对象 Vue.config ，该属性中包含了环境设定的各种配置
        通过 Vue.config 中的属性的取值修改，完成环境的切换 
    -->
    <script>
        // JS 对象构造函数的属性和方法的定义分类
        // 属性定义：
        //      实例属性： 实例属性是为该构造器对象进行属性定义和添加-每个对象都有但不共享
        //      原型方法： 定义与 prototype 上的方法，可以为将来创建的实例对象提供直接调用的共享方法
        //      静态属性： 直接定义在 构造函数上的属性，通过构造函数方法调用共享数据
        //      静态方法： 直接以属性方法定义在 构造函数上的方法，该方法只能通过构造函数调用，不能通过实例调用
        function User(name){
            this.name = name;
        }
        User.prototype.funA = function(){
            console.log("funA");
        }

        User.prop = "静态属性";
        User.funB = function(){
            console.log("funB");
        }

        let u = new User("tom");
        let u1 = new User("jack");
        console.log(u,u1);
        console.log(u.name,u1.name);
        u.funA();
        u1.funA();
        // u.funB();
        // User.funA(); // 不能调用 直接保存

        console.log("-----------------");
        console.log(u.prop);
        console.log(User.prop);
        User.funB();


        console.log("--------环境设定---------");
        Vue.config.productionTip = true;  // 阻止 vue 在启动时生成生产提示。
        Vue.config.devtools = false; //配置是否允许 vue-devtools 检查代码
        Vue.config.silent = true; // 取消 Vue 所有的日志与警告。

    </script>
</head>
<body>
    <div id="app">
        <p>{{msg}}</p>
        <p v-for="item in 3" :key="item"></p>
        <p v-for="item in 3" :key="item"></p>

    </div>
</body>
<script>
    new Vue({
        el:"#app",
        data:{
            msg:"测试"
        }
    })


</script>
</html>